home *** CD-ROM | disk | FTP | other *** search
/ Apple II Magazines (PO) / Nibble Volume 12, No. 12 (1991-12)(MindCraft Publishing)(Side A).zip / Nibble Volume 12, No. 12 (1991-12)(MindCraft Publishing)(Side A).po / IIGS.KEYPRESS.bas < prev    next >
BASIC Source File  |  1996-12-24  |  1KB  |  32 lines

  1. 10  REM  PROGRAM IIGS.KEYPRESS
  2. 20  REM  THIS USES BIT.BREAKER TO TAKE APART
  3. 30  REM  THE IIGS KEY MODIFIER REGISTER AT $C025, 49189
  4. 40  REM  BIT 0 IS SHIFT KEY
  5. 50  REM  BIT 1 IS CONTROL KEY
  6. 60  REM  BIT 2 IS CAPS LOCK
  7. 70  REM  BIT 3 IS REPEAT
  8. 80  REM  BIT 4 IS KEYPAD
  9. 90  REM  BIT 5 UPDATES THE REGISTER WITHOUT A KEYPRESS
  10. 100  REM  BIT 6 IS OPTION/CLOSED APPLE
  11. 110  REM  BIT 7 IS OPEN APPLE
  12. 120  HOME : PRINT "PRESS ANY KEY OR COMBINATION OF KEYS": PRINT 
  13. 130 K =  PEEK(49152): IF K <128  THEN 130: REM  GET REGULAR KEY VALUE
  14. 140  POKE 49168,0: REM  CLEAR KEYBOARD STROBE
  15. 150 N =  PEEK(49189): REM  GET VALUE OF KEY MODIFIER REGISTER
  16. 160  PRINT "BIT BREAKDOWN OF THE REGISTER": PRINT 
  17. 170  FOR BT = 0 TO 7
  18. 180 V = (N - INT(N/2) *2): PRINT "BIT ";BT;" IS ";V:D(BT) = V
  19. 190 N =  INT(N/2): REM  REDUCE VALUE
  20. 200  NEXT : PRINT 
  21. 210  IF D(0) = 1  THEN  PRINT "SHIFT KEY WAS PRESSED"
  22. 220  IF D(1) = 1  THEN  PRINT "THE CONTROL KEY WAS PRESSED"
  23. 230  IF D(2) = 1  THEN  PRINT "CAPS LOCK KEY IS DOWN"
  24. 240  IF D(3) = 1  THEN  PRINT "A KEY IS BEING HELD DOWN"
  25. 250  IF D(4) = 1  THEN  PRINT "A NUMERIC KEY WAS PRESSED"
  26. 260  IF D(5) = 1  THEN  PRINT "THE REGISTER HAS BEEN UDATED WITH NO KEYPRESS"
  27. 270  IF D(6) = 1  THEN  PRINT "THE OPTION/CLOSED APPLE KEY WAS PRESSED"
  28. 280  IF D(7) = 1  THEN  PRINT "OPEN APPLE/COMMAND KEY WAS PRESSED"
  29. 290  IF (K -128) <32  THEN 310
  30. 300  PRINT "THE KEY PRESSED WAS "; CHR$(K -128): END 
  31. 310  PRINT "THE KEY PRESSED WAS CTRL "; CHR$((K -128) +64)
  32. 320  END